/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package vn.com.fis.portal.vtcc.service;

import com.liferay.portal.kernel.bean.PortletBeanLocatorUtil;
import com.liferay.portal.kernel.util.ClassLoaderProxy;
import com.liferay.portal.kernel.util.MethodCache;
import com.liferay.portal.kernel.util.ReferenceRegistry;

/**
 * The utility for the sample entry local service. This utility wraps {@link vn.com.fis.portal.vtcc.service.impl.SampleEntryLocalServiceImpl} and is the primary access point for service operations in application layer code running on the local server.
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author loind
 * @see SampleEntryLocalService
 * @see vn.com.fis.portal.vtcc.service.base.SampleEntryLocalServiceBaseImpl
 * @see vn.com.fis.portal.vtcc.service.impl.SampleEntryLocalServiceImpl
 * @generated
 */
public class SampleEntryLocalServiceUtil {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify this class directly. Add custom service methods to {@link vn.com.fis.portal.vtcc.service.impl.SampleEntryLocalServiceImpl} and rerun ServiceBuilder to regenerate this class.
	 */

	/**
	* Adds the sample entry to the database. Also notifies the appropriate model listeners.
	*
	* @param sampleEntry the sample entry
	* @return the sample entry that was added
	* @throws SystemException if a system exception occurred
	*/
	public static vn.com.fis.portal.vtcc.model.SampleEntry addSampleEntry(
		vn.com.fis.portal.vtcc.model.SampleEntry sampleEntry)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().addSampleEntry(sampleEntry);
	}

	/**
	* Creates a new sample entry with the primary key. Does not add the sample entry to the database.
	*
	* @param sampleId the primary key for the new sample entry
	* @return the new sample entry
	*/
	public static vn.com.fis.portal.vtcc.model.SampleEntry createSampleEntry(
		long sampleId) {
		return getService().createSampleEntry(sampleId);
	}

	/**
	* Deletes the sample entry with the primary key from the database. Also notifies the appropriate model listeners.
	*
	* @param sampleId the primary key of the sample entry
	* @throws PortalException if a sample entry with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public static void deleteSampleEntry(long sampleId)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		getService().deleteSampleEntry(sampleId);
	}

	/**
	* Deletes the sample entry from the database. Also notifies the appropriate model listeners.
	*
	* @param sampleEntry the sample entry
	* @throws SystemException if a system exception occurred
	*/
	public static void deleteSampleEntry(
		vn.com.fis.portal.vtcc.model.SampleEntry sampleEntry)
		throws com.liferay.portal.kernel.exception.SystemException {
		getService().deleteSampleEntry(sampleEntry);
	}

	/**
	* Performs a dynamic query on the database and returns the matching rows.
	*
	* @param dynamicQuery the dynamic query
	* @return the matching rows
	* @throws SystemException if a system exception occurred
	*/
	@SuppressWarnings("rawtypes")
	public static java.util.List dynamicQuery(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().dynamicQuery(dynamicQuery);
	}

	/**
	* Performs a dynamic query on the database and returns a range of the matching rows.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param dynamicQuery the dynamic query
	* @param start the lower bound of the range of model instances
	* @param end the upper bound of the range of model instances (not inclusive)
	* @return the range of matching rows
	* @throws SystemException if a system exception occurred
	*/
	@SuppressWarnings("rawtypes")
	public static java.util.List dynamicQuery(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
		int end) throws com.liferay.portal.kernel.exception.SystemException {
		return getService().dynamicQuery(dynamicQuery, start, end);
	}

	/**
	* Performs a dynamic query on the database and returns an ordered range of the matching rows.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param dynamicQuery the dynamic query
	* @param start the lower bound of the range of model instances
	* @param end the upper bound of the range of model instances (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of matching rows
	* @throws SystemException if a system exception occurred
	*/
	@SuppressWarnings("rawtypes")
	public static java.util.List dynamicQuery(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
		int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService()
				   .dynamicQuery(dynamicQuery, start, end, orderByComparator);
	}

	/**
	* Returns the number of rows that match the dynamic query.
	*
	* @param dynamicQuery the dynamic query
	* @return the number of rows that match the dynamic query
	* @throws SystemException if a system exception occurred
	*/
	public static long dynamicQueryCount(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().dynamicQueryCount(dynamicQuery);
	}

	public static vn.com.fis.portal.vtcc.model.SampleEntry fetchSampleEntry(
		long sampleId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().fetchSampleEntry(sampleId);
	}

	/**
	* Returns the sample entry with the primary key.
	*
	* @param sampleId the primary key of the sample entry
	* @return the sample entry
	* @throws PortalException if a sample entry with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public static vn.com.fis.portal.vtcc.model.SampleEntry getSampleEntry(
		long sampleId)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		return getService().getSampleEntry(sampleId);
	}

	public static com.liferay.portal.model.PersistedModel getPersistedModel(
		java.io.Serializable primaryKeyObj)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		return getService().getPersistedModel(primaryKeyObj);
	}

	/**
	* Returns a range of all the sample entries.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param start the lower bound of the range of sample entries
	* @param end the upper bound of the range of sample entries (not inclusive)
	* @return the range of sample entries
	* @throws SystemException if a system exception occurred
	*/
	public static java.util.List<vn.com.fis.portal.vtcc.model.SampleEntry> getSampleEntries(
		int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().getSampleEntries(start, end);
	}

	/**
	* Returns the number of sample entries.
	*
	* @return the number of sample entries
	* @throws SystemException if a system exception occurred
	*/
	public static int getSampleEntriesCount()
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().getSampleEntriesCount();
	}

	/**
	* Updates the sample entry in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
	*
	* @param sampleEntry the sample entry
	* @return the sample entry that was updated
	* @throws SystemException if a system exception occurred
	*/
	public static vn.com.fis.portal.vtcc.model.SampleEntry updateSampleEntry(
		vn.com.fis.portal.vtcc.model.SampleEntry sampleEntry)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().updateSampleEntry(sampleEntry);
	}

	/**
	* Updates the sample entry in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
	*
	* @param sampleEntry the sample entry
	* @param merge whether to merge the sample entry with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
	* @return the sample entry that was updated
	* @throws SystemException if a system exception occurred
	*/
	public static vn.com.fis.portal.vtcc.model.SampleEntry updateSampleEntry(
		vn.com.fis.portal.vtcc.model.SampleEntry sampleEntry, boolean merge)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService().updateSampleEntry(sampleEntry, merge);
	}

	/**
	* Returns the Spring bean ID for this bean.
	*
	* @return the Spring bean ID for this bean
	*/
	public static java.lang.String getBeanIdentifier() {
		return getService().getBeanIdentifier();
	}

	/**
	* Sets the Spring bean ID for this bean.
	*
	* @param beanIdentifier the Spring bean ID for this bean
	*/
	public static void setBeanIdentifier(java.lang.String beanIdentifier) {
		getService().setBeanIdentifier(beanIdentifier);
	}

	/**
	* @findBy_SN_SS_SC_CY_ON_SOC_SI_H_IM_IT_DT_IP_CP_OC_A_STRAINID()
	* @param scientificName
	* @param sampleSynonym
	* @param sampleCode
	* @param catalogYear
	* @param otherName
	* @param sampleOtherCode
	* @param sourceIsolation
	* @param history
	* @param isolationMethod
	* @param isolationTime
	* @param depositionTime
	* @param isolationPerson
	* @param cellMorphology
	* @param otherCharacteristics
	* @param applications
	* @param strainId int value
	* @andOperator boolean
	* @andOperator start
	* @andOperator end
	* @return List<SampleEntry>
	*/
	public static java.util.List<vn.com.fis.portal.vtcc.model.SampleEntry> findBy_SN_SS_SC_CY_ON_SOC_SI_H_IM_IT_DT_IP_CP_OC_A_STRAINID(
		java.lang.String scientificName, java.lang.String sampleSynonym,
		java.lang.String sampleCode, java.lang.String catalogYear,
		java.lang.String otherName, java.lang.String sampleOtherCode,
		java.lang.String sourceIsolation, java.lang.String history,
		java.lang.String isolationMethod, java.lang.String isolationTime,
		java.lang.String depositionTime, java.lang.String isolationPerson,
		java.lang.String cellMorphology, java.lang.String otherCharacteristics,
		java.lang.String applications, int strainId, boolean andOperator,
		int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService()
				   .findBy_SN_SS_SC_CY_ON_SOC_SI_H_IM_IT_DT_IP_CP_OC_A_STRAINID(scientificName,
			sampleSynonym, sampleCode, catalogYear, otherName, sampleOtherCode,
			sourceIsolation, history, isolationMethod, isolationTime,
			depositionTime, isolationPerson, cellMorphology,
			otherCharacteristics, applications, strainId, andOperator, start,
			end);
	}

	/**
	* @countBy_SN_SS_SC_CY_ON_SOC_SI_H_IM_IT_DT_IP_CP_OC_A_STRAINID
	* @param scientificName
	* @param sampleSynonym
	* @param sampleCode
	* @param catalogYear
	* @param otherName
	* @param sampleOtherCode
	* @param sourceIsolation
	* @param history
	* @param isolationMethod
	* @param isolationTime
	* @param depositionTime
	* @param isolationPerson
	* @param cellMorphology
	* @param otherCharacteristics
	* @param applications
	* @param strainId int value
	* @andOperator boolean
	* @return List<SampleEntry>
	*/
	public static int countBy_SN_SS_SC_CY_ON_SOC_SI_H_IM_IT_DT_IP_CP_OC_A_STRAINID(
		java.lang.String scientificName, java.lang.String sampleSynonym,
		java.lang.String sampleCode, java.lang.String catalogYear,
		java.lang.String otherName, java.lang.String sampleOtherCode,
		java.lang.String sourceIsolation, java.lang.String history,
		java.lang.String isolationMethod, java.lang.String isolationTime,
		java.lang.String depositionTime, java.lang.String isolationPerson,
		java.lang.String cellMorphology, java.lang.String otherCharacteristics,
		java.lang.String applications, int strainId, boolean andOperator)
		throws com.liferay.portal.kernel.exception.SystemException {
		return getService()
				   .countBy_SN_SS_SC_CY_ON_SOC_SI_H_IM_IT_DT_IP_CP_OC_A_STRAINID(scientificName,
			sampleSynonym, sampleCode, catalogYear, otherName, sampleOtherCode,
			sourceIsolation, history, isolationMethod, isolationTime,
			depositionTime, isolationPerson, cellMorphology,
			otherCharacteristics, applications, strainId, andOperator);
	}

	public static void clearService() {
		_service = null;
	}

	public static SampleEntryLocalService getService() {
		if (_service == null) {
			Object object = PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),
					SampleEntryLocalService.class.getName());
			ClassLoader portletClassLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),
					"portletClassLoader");

			ClassLoaderProxy classLoaderProxy = new ClassLoaderProxy(object,
					SampleEntryLocalService.class.getName(), portletClassLoader);

			_service = new SampleEntryLocalServiceClp(classLoaderProxy);

			ClpSerializer.setClassLoader(portletClassLoader);

			ReferenceRegistry.registerReference(SampleEntryLocalServiceUtil.class,
				"_service");
			MethodCache.remove(SampleEntryLocalService.class);
		}

		return _service;
	}

	public void setService(SampleEntryLocalService service) {
		MethodCache.remove(SampleEntryLocalService.class);

		_service = service;

		ReferenceRegistry.registerReference(SampleEntryLocalServiceUtil.class,
			"_service");
		MethodCache.remove(SampleEntryLocalService.class);
	}

	private static SampleEntryLocalService _service;
}